package Z008NumberAndString.NS04Formatter;

import java.util.Locale;

public class ForMatter {}

class ForMatter1{
    public static void main(String[] args) {

        String name = "盖伦";
        int kill = 8 ;
        String title = "超神";

        String sentence = name + "连续击败" + kill + "次，获得了" + title + "的称号" ;
        System.out.println(sentence);

        String sentenceFormat = "%s 在进行了 %d 次连续击杀后，获得了 %s 的称号%n";
        System.out.printf(sentence,name,kill,title);
    }
}

class farMatter2{
    /*
    换行符就是另起一行 --- '\n' 换行（newline）
    回车符就是回到一行的开头 --- '\r' 回车（return）
    在eclipse里敲一个回车，实际上是回车换行符
    Java是跨平台的编程语言，同样的代码，可以在不同的平台使用，比如Windows,Linux,Mac
    然而在不同的操作系统，换行符是不一样的
    （1）在DOS和Windows中，每行结尾是 “\r\n”；
    （2）Linux系统里，每行结尾只有 “\n”；
    （3）Mac系统里，每行结尾是只有 "\r"。
     为了使得同一个java程序的换行符在所有的操作系统中都有一样的表现，使用%n，就可以做到平台无关的换行
     */
    public static void main(String[] args) {
        System.out.println("这是换行符%n");
        System.out.println("这是换行符%n");
    }
}

class ForMatter3{
    public static void main(String[] args) {
        int year = 2020;
        //总长度，左对齐，补0，千位分隔符，小数点位数，本地化表达

        // 直接打印数字
        System.out.format("%d%n",year);
        // 总长度8，默认右对齐
        System.out.format("%8d%n",year);
        // 总长度8，左对齐
        System.out.format("%-8d%n",year);
        // 总长度8，不够补零
        System.out.format("%,8d%n",year);
        // 千位分隔符
        System.out.format("%,8d%n",year*10000);

        // 小数点位数
        System.out.format("%.2fn",Math.PI);

        // 不同国家的千位分隔符
        System.out.format(Locale.FRANCE,"%,.2f%n",Math.PI*10000);
        System.out.format(Locale.US,"%,.2f%n",Math.PI*10000);
        System.out.format(Locale.UK,"%,.2f%n",Math.PI*10000);

    }
}

// 练习：
// 借助Scanner 读取字符串数据，然后用格式化输出下面
//
// '浙江温州'最大'皮革厂江南皮革厂'倒闭了，
// 王八蛋老板'黄鹤'吃喝嫖赌，欠下了'3.5'个亿，
// 带着他的小姨子跑了!我们没有办法，
// 拿着钱包抵工资!原价都是一'百'多、两百多、三百多的'钱包'，
// 现在全部只卖二十块，统统只要二十块!
// 黄鹤王八蛋，你不是人!我们辛辛苦苦给你干了大半年，
// 你不发工资，你还我血汗钱，还我血汗钱!